@charset "UTF-8";
:root {
  --fontsize-h1: clamp(2.6rem, 2.4421052632rem + 0.6736842105vw, 3.2rem);
  --fontsize-h2: clamp(2rem, 1.8421052632rem + 0.6736842105vw, 2.6rem);
  --fontsize-h3: clamp(1.3rem, 1.2210526316rem + 0.3368421053vw, 1.6rem);
  --fontsize-h4: clamp(2rem, 1.8421052632rem + 0.6736842105vw, 2.6rem);
  --fontsize-xl: clamp(1.3rem, 1.1947368421rem + 0.449122807vw, 1.7rem);
  --fontsize-l: clamp(1.3rem, 1.2210526316rem + 0.3368421053vw, 1.6rem);
  --fontsize-m: clamp(1.3rem, 1.2473684211rem + 0.2245614035vw, 1.5rem);
  --fontsize-s: clamp(1.2rem, 1.1736842105rem + 0.1122807018vw, 1.3rem);
  --fontsize-xs: 1.2rem;
  --fontsize-x2s: 1.1rem;
  --fontsize-price: clamp(2.8rem, 2.6421052632rem + 0.6736842105vw, 3.4rem);
  --round-full: 100vmax;
  --round-xl: clamp(1.3rem, 0.9578947368rem + 1.4596491228vw, 2.6rem);
  --round-l: clamp(1.2rem, 0.8842105263rem + 1.3473684211vw, 2.4rem);
  --round-m: clamp(0.8rem, 0.5894736842rem + 0.898245614vw, 1.6rem);
  --round-s: clamp(0.4rem, 0.2947368421rem + 0.449122807vw, 0.8rem);
  --round-xs: clamp(0.2rem, 0.1473684211rem + 0.2245614035vw, 0.4rem);
  --tpl-size-side: clamp(4.8rem, 3.9578947368rem + 3.5929824561vw, 8rem);
  --tpl-space: clamp(2rem, 1.0526315789rem + 4.0421052632vw, 5.6rem);
  --contents-space: clamp(4.8rem, 3.9578947368rem + 3.5929824561vw, 8rem);
  --contents-space__inner: clamp(4.8rem, 3.9578947368rem + 3.5929824561vw, 8rem);
  --space-x4l: clamp(8rem, 4.3157894737rem + 15.7192982456vw, 22rem);
  --space-x3l: clamp(6.4rem, 4.5052631579rem + 8.0842105263vw, 13.6rem);
  --space-x2l: clamp(4.2rem, 3.0947368421rem + 4.7157894737vw, 8.4rem);
  --space-xl2: clamp(3.6rem, 2.8631578947rem + 3.1438596491vw, 6.4rem);
  --space-xl: clamp(3.2rem, 2.6736842105rem + 2.2456140351vw, 5.2rem);
  --space-l2: clamp(2.4rem, 1.7684210526rem + 2.6947368421vw, 4.8rem);
  --space-l1: clamp(2.4rem, 1.9789473684rem + 1.7964912281vw, 4rem);
  --space-l: clamp(2.4rem, 2.1894736842rem + 0.898245614vw, 3.2rem);
  --space-m: clamp(1.6rem, 1.3894736842rem + 0.898245614vw, 2.4rem);
  --space-s: clamp(1rem, 0.7368421053rem + 1.1228070175vw, 2rem);
  --space-xs: clamp(1.2rem, 1.0947368421rem + 0.449122807vw, 1.6rem);
  --space-x2s: clamp(1.1rem, 1.0736842105rem + 0.1122807018vw, 1.2rem);
  --space-x3s: clamp(0.4rem, 0.2947368421rem + 0.449122807vw, 0.8rem);
  --space-x4s: clamp(0.2rem, 0.1473684211rem + 0.2245614035vw, 0.4rem);
  --space-clear: 0;
}

:root {
  --zindex-lv: 0;
  --zindex-lv1: 1;
  --zindex-lv2: calc(var(--zindex-lv1) * 10);
  --zindex-lv3: calc(var(--zindex-lv2) * 10);
  --zindex-lv4: calc(var(--zindex-lv3) * 10);
  --zindex-lv5: calc(var(--zindex-lv4) * 10);
  --zindex-lv6: calc(var(--zindex-lv5) * 10);
  --zindex-lv7: calc(var(--zindex-lv6) * 10);
  --zindex-lv8: calc(var(--zindex-lv7) * 10);
  --zindex-lv9: calc(var(--zindex-lv8) * 10);
  --zindex-lv10: calc(var(--zindex-lv9) * 10);
  --zindex-lv-max: 1000000000;
  --zindex-lv-limit: 2147483647;
}

:root {
  --color-white-900: #fff;
  --color-white-800: #FEFDF7;
  --color-black-900: #222;
  --color-black-500: #333;
  --color-black-400: #555;
  --color-black-300: #777;
  --color-black-110: #F0F0F0;
  --color-black-120: #E7E6E0;
  --color-black-130: #EAE8DF;
  --color-black-100: #E4E4E4;
  --color-red-900: #D80B0B;
  --color-bland-primary: #986435;
  --color-bland-secondary: #da561e;
  --text-color-heading: var(--color-black-900);
  --text-color-basic: var(--color-black-500);
  --text-color-small: var(--color-black-400);
  --text-color-notice: var(--color-black-300);
  --text-color-white: var(--color-white-800);
  --text-color-red: var(--color-red-900);
  --border-color: var(--color-black-100);
  --border-color-light: #efefef;
  --table-border-color: var(--color-black-120);
}

:root {
  --font-heading1: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --font-heading: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --font-basic: "ヒラギノ角ゴ ProN W3", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --font-en: "Helvetica Neue", Meiryo, sans-serif;
}

:root {
  --ease: ease;
  --linear: linear;
  --easeIn: ease-in;
  --easeOut: ease-out;
  --easeInOut: ease-in-out;
  --easeSnap: cubic-bezier(0, 1, 0.5, 1);
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86);
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInOutQuint: cubic-bezier(0.86, 0, 0.07, 1);
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --easeFloating: cubic-bezier(0.77, 0, 0.175, 1);
  --easeOrg: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@-webkit-keyframes arrow-anim {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  30% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes arrow-anim {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  30% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes arrow-anim__reverse {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  30% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes arrow-anim__reverse {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px);
  }
  30% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
  60% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

@layer reset {
  #RTCustomField * {
    min-height: 0;
    margin: 0;
    padding: 0;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: baseline;
  }
  #RTCustomField summary {
    cursor: pointer;
  }
  #RTCustomField article,
  #RTCustomField aside,
  #RTCustomField dialog,
  #RTCustomField figure,
  #RTCustomField footer,
  #RTCustomField header,
  #RTCustomField hgroup,
  #RTCustomField menu,
  #RTCustomField nav,
  #RTCustomField section,
  #RTCustomField main {
    display: block;
  }
  #RTCustomField audio,
  #RTCustomField canvas,
  #RTCustomField progress,
  #RTCustomField video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: baseline;
  }
  #RTCustomField audio:not([controls]) {
    display: none;
    height: 0;
  }
  #RTCustomField [hidden] {
    display: none;
  }
  #RTCustomField template {
    display: none;
  }
  #RTCustomField address {
    font-style: normal;
  }
  #RTCustomField h1,
  #RTCustomField h2,
  #RTCustomField h3,
  #RTCustomField h4,
  #RTCustomField h5,
  #RTCustomField h6 {
    font-weight: normal;
    line-height: 100%;
    margin: 0;
    padding: 0;
  }
  #RTCustomField strong,
  #RTCustomField b {
    font-weight: bold;
  }
  #RTCustomField object {
    pointer-events: none;
  }
  #RTCustomField img {
    border: none;
    vertical-align: bottom;
  }
  #RTCustomField audio:not([controls]) {
    display: none;
    height: 0;
  }
  #RTCustomField svg {
    fill: currentcolor;
    vertical-align: bottom;
  }
  #RTCustomField svg:not(:root) {
    overflow: hidden;
  }
  #RTCustomField a {
    color: inherit;
    cursor: pointer;
  }
  #RTCustomField a:hover {
    text-decoration: none;
  }
  .l-main #RTCustomField a:not(.c-button) {
    color: var(--color-link);
  }
  @media (hover: hover) and (pointer: fine) {
    #RTCustomField a[href^="tel:"] {
      color: currentColor;
      text-decoration: none;
      pointer-events: none;
      cursor: default;
    }
  }
  #RTCustomField a.u-link-currentcolor {
    color: currentColor;
  }
  #RTCustomField a * {
    cursor: pointer;
  }
  #RTCustomField a,
  #RTCustomField input,
  #RTCustomField select,
  #RTCustomField textarea,
  #RTCustomField button,
  #RTCustomField a object,
  #RTCustomField a img,
  #RTCustomField button span,
  #RTCustomField a .c-button,
  #RTCustomField .u-hvr {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  #RTCustomField :is(ol, ul) li {
    list-style: none;
  }
  #RTCustomField img {
    max-width: 100%;
  }
  #RTCustomField figure {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.8rem;
  }
  #RTCustomField figure figcaption {
    font-size: clamp(1.1rem, 1.0736842105rem + 0.1122807018vw, 1.2rem);
    line-height: var(--lineheight16);
    color: var(--color-black4);
  }
  #RTCustomField input[type=text],
  #RTCustomField input[type=tel],
  #RTCustomField input[type=email],
  #RTCustomField input[type=number],
  #RTCustomField textarea {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #RTCustomField input[type=text]:focus,
  #RTCustomField input[type=tel]:focus,
  #RTCustomField input[type=email]:focus,
  #RTCustomField input[type=number]:focus,
  #RTCustomField input[type=checkbox]:focus,
  #RTCustomField textarea:focus,
  #RTCustomField label:focus,
  #RTCustomField select {
    outline: 0;
  }
  #RTCustomField select::-ms-expand {
    display: none;
  }
  #RTCustomField iframe {
    height: 100%;
    border: none;
    outline: none;
    aspect-ratio: 16/9;
  }
  #RTCustomField *:not(.p-news-article-body, .mce-preview-object, .wpview) > iframe {
    width: 100%;
  }
  #RTCustomField ruby {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.7rem;
    border: none;
    white-space: nowrap;
    vertical-align: text-bottom;
    text-align: center;
    line-height: 100%;
  }
  #RTCustomField ruby rt {
    display: table-header-group;
    font-size: 50%;
    text-align: center;
    line-height: 100%;
  }
  #RTCustomField ruby ruby rt {
    display: table-footer-group;
    font-size: 50%;
    line-height: 100%;
  }
  #RTCustomField ruby rp {
    display: none;
  }
  #RTCustomField dl dt {
    font-weight: bold;
  }
  #RTCustomField body > span {
    position: fixed;
    width: 0;
    height: 0;
    overflow: hidden;
    left: 0;
  }
  #RTCustomField select {
    width: 100%;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border-radius: 2px;
    font-size: 1.4rem;
    background: var(--color-pure-white);
    border: none;
    border: 1px solid #dbdbdb;
    padding: 0 1.5rem;
    outline: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  @media screen and (max-width: 768px) {
    #RTCustomField select {
      background: #eee;
    }
  }
  #RTCustomField hr {
    inline-size: 100%;
    block-size: 1px;
    background: url(/assets/image/common/line_dot_x.gif) repeat-x left bottom;
    border: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    opacity: 0.4;
  }
}
@layer utility {
  .u-mt-clear {
    margin-top: var(--space-clear);
  }
  @media screen and (max-width: 768px) {
    .u-mt-clear-small {
      margin-top: var(--space-clear);
    }
  }
  .u-mb-clear {
    margin-bottom: var(--space-clear);
  }
  @media screen and (max-width: 768px) {
    .u-mb-clear-small {
      margin-bottom: var(--space-clear);
    }
  }
  .u-pt-clear {
    padding-top: var(--space-clear);
  }
  @media screen and (max-width: 768px) {
    .u-pt-clear-small {
      padding-top: var(--space-clear);
    }
  }
  .u-pb-clear {
    padding-bottom: var(--space-clear);
  }
  @media screen and (max-width: 768px) {
    .u-pb-clear-small {
      padding-bottom: var(--space-clear);
    }
  }
  .u-pl-clear {
    padding-left: var(--space-clear);
  }
  @media screen and (max-width: 768px) {
    .u-pl-clear-small {
      padding-left: var(--space-clear);
    }
  }
  .u-pr-clear {
    padding-right: var(--space-clear);
  }
  @media screen and (max-width: 768px) {
    .u-pr-clear-small {
      padding-right: var(--space-clear);
    }
  }
  .u-mt-x4s {
    margin-top: var(--space-x4s);
  }
  @media screen and (max-width: 768px) {
    .u-mt-x4s-small {
      margin-top: var(--space-x4s);
    }
  }
  .u-mb-x4s {
    margin-bottom: var(--space-x4s);
  }
  @media screen and (max-width: 768px) {
    .u-mb-x4s-small {
      margin-bottom: var(--space-x4s);
    }
  }
  .u-pt-x4s {
    padding-top: var(--space-x4s);
  }
  @media screen and (max-width: 768px) {
    .u-pt-x4s-small {
      padding-top: var(--space-x4s);
    }
  }
  .u-pb-x4s {
    padding-bottom: var(--space-x4s);
  }
  @media screen and (max-width: 768px) {
    .u-pb-x4s-small {
      padding-bottom: var(--space-x4s);
    }
  }
  .u-pl-x4s {
    padding-left: var(--space-x4s);
  }
  @media screen and (max-width: 768px) {
    .u-pl-x4s-small {
      padding-left: var(--space-x4s);
    }
  }
  .u-pr-x4s {
    padding-right: var(--space-x4s);
  }
  @media screen and (max-width: 768px) {
    .u-pr-x4s-small {
      padding-right: var(--space-x4s);
    }
  }
  .u-mt-x3s {
    margin-top: var(--space-x3s);
  }
  @media screen and (max-width: 768px) {
    .u-mt-x3s-small {
      margin-top: var(--space-x3s);
    }
  }
  .u-mb-x3s {
    margin-bottom: var(--space-x3s);
  }
  @media screen and (max-width: 768px) {
    .u-mb-x3s-small {
      margin-bottom: var(--space-x3s);
    }
  }
  .u-pt-x3s {
    padding-top: var(--space-x3s);
  }
  @media screen and (max-width: 768px) {
    .u-pt-x3s-small {
      padding-top: var(--space-x3s);
    }
  }
  .u-pb-x3s {
    padding-bottom: var(--space-x3s);
  }
  @media screen and (max-width: 768px) {
    .u-pb-x3s-small {
      padding-bottom: var(--space-x3s);
    }
  }
  .u-pl-x3s {
    padding-left: var(--space-x3s);
  }
  @media screen and (max-width: 768px) {
    .u-pl-x3s-small {
      padding-left: var(--space-x3s);
    }
  }
  .u-pr-x3s {
    padding-right: var(--space-x3s);
  }
  @media screen and (max-width: 768px) {
    .u-pr-x3s-small {
      padding-right: var(--space-x3s);
    }
  }
  .u-mt-x2s {
    margin-top: var(--space-x2s);
  }
  @media screen and (max-width: 768px) {
    .u-mt-x2s-small {
      margin-top: var(--space-x2s);
    }
  }
  .u-mb-x2s {
    margin-bottom: var(--space-x2s);
  }
  @media screen and (max-width: 768px) {
    .u-mb-x2s-small {
      margin-bottom: var(--space-x2s);
    }
  }
  .u-pt-x2s {
    padding-top: var(--space-x2s);
  }
  @media screen and (max-width: 768px) {
    .u-pt-x2s-small {
      padding-top: var(--space-x2s);
    }
  }
  .u-pb-x2s {
    padding-bottom: var(--space-x2s);
  }
  @media screen and (max-width: 768px) {
    .u-pb-x2s-small {
      padding-bottom: var(--space-x2s);
    }
  }
  .u-pl-x2s {
    padding-left: var(--space-x2s);
  }
  @media screen and (max-width: 768px) {
    .u-pl-x2s-small {
      padding-left: var(--space-x2s);
    }
  }
  .u-pr-x2s {
    padding-right: var(--space-x2s);
  }
  @media screen and (max-width: 768px) {
    .u-pr-x2s-small {
      padding-right: var(--space-x2s);
    }
  }
  .u-mt-xs {
    margin-top: var(--space-xs);
  }
  @media screen and (max-width: 768px) {
    .u-mt-xs-small {
      margin-top: var(--space-xs);
    }
  }
  .u-mb-xs {
    margin-bottom: var(--space-xs);
  }
  @media screen and (max-width: 768px) {
    .u-mb-xs-small {
      margin-bottom: var(--space-xs);
    }
  }
  .u-pt-xs {
    padding-top: var(--space-xs);
  }
  @media screen and (max-width: 768px) {
    .u-pt-xs-small {
      padding-top: var(--space-xs);
    }
  }
  .u-pb-xs {
    padding-bottom: var(--space-xs);
  }
  @media screen and (max-width: 768px) {
    .u-pb-xs-small {
      padding-bottom: var(--space-xs);
    }
  }
  .u-pl-xs {
    padding-left: var(--space-xs);
  }
  @media screen and (max-width: 768px) {
    .u-pl-xs-small {
      padding-left: var(--space-xs);
    }
  }
  .u-pr-xs {
    padding-right: var(--space-xs);
  }
  @media screen and (max-width: 768px) {
    .u-pr-xs-small {
      padding-right: var(--space-xs);
    }
  }
  .u-mt-s {
    margin-top: var(--space-s);
  }
  @media screen and (max-width: 768px) {
    .u-mt-s-small {
      margin-top: var(--space-s);
    }
  }
  .u-mb-s {
    margin-bottom: var(--space-s);
  }
  @media screen and (max-width: 768px) {
    .u-mb-s-small {
      margin-bottom: var(--space-s);
    }
  }
  .u-pt-s {
    padding-top: var(--space-s);
  }
  @media screen and (max-width: 768px) {
    .u-pt-s-small {
      padding-top: var(--space-s);
    }
  }
  .u-pb-s {
    padding-bottom: var(--space-s);
  }
  @media screen and (max-width: 768px) {
    .u-pb-s-small {
      padding-bottom: var(--space-s);
    }
  }
  .u-pl-s {
    padding-left: var(--space-s);
  }
  @media screen and (max-width: 768px) {
    .u-pl-s-small {
      padding-left: var(--space-s);
    }
  }
  .u-pr-s {
    padding-right: var(--space-s);
  }
  @media screen and (max-width: 768px) {
    .u-pr-s-small {
      padding-right: var(--space-s);
    }
  }
  .u-mt-m {
    margin-top: var(--space-m);
  }
  @media screen and (max-width: 768px) {
    .u-mt-m-small {
      margin-top: var(--space-m);
    }
  }
  .u-mb-m {
    margin-bottom: var(--space-m);
  }
  @media screen and (max-width: 768px) {
    .u-mb-m-small {
      margin-bottom: var(--space-m);
    }
  }
  .u-pt-m {
    padding-top: var(--space-m);
  }
  @media screen and (max-width: 768px) {
    .u-pt-m-small {
      padding-top: var(--space-m);
    }
  }
  .u-pb-m {
    padding-bottom: var(--space-m);
  }
  @media screen and (max-width: 768px) {
    .u-pb-m-small {
      padding-bottom: var(--space-m);
    }
  }
  .u-pl-m {
    padding-left: var(--space-m);
  }
  @media screen and (max-width: 768px) {
    .u-pl-m-small {
      padding-left: var(--space-m);
    }
  }
  .u-pr-m {
    padding-right: var(--space-m);
  }
  @media screen and (max-width: 768px) {
    .u-pr-m-small {
      padding-right: var(--space-m);
    }
  }
  .u-mt-l {
    margin-top: var(--space-l);
  }
  @media screen and (max-width: 768px) {
    .u-mt-l-small {
      margin-top: var(--space-l);
    }
  }
  .u-mb-l {
    margin-bottom: var(--space-l);
  }
  @media screen and (max-width: 768px) {
    .u-mb-l-small {
      margin-bottom: var(--space-l);
    }
  }
  .u-pt-l {
    padding-top: var(--space-l);
  }
  @media screen and (max-width: 768px) {
    .u-pt-l-small {
      padding-top: var(--space-l);
    }
  }
  .u-pb-l {
    padding-bottom: var(--space-l);
  }
  @media screen and (max-width: 768px) {
    .u-pb-l-small {
      padding-bottom: var(--space-l);
    }
  }
  .u-pl-l {
    padding-left: var(--space-l);
  }
  @media screen and (max-width: 768px) {
    .u-pl-l-small {
      padding-left: var(--space-l);
    }
  }
  .u-pr-l {
    padding-right: var(--space-l);
  }
  @media screen and (max-width: 768px) {
    .u-pr-l-small {
      padding-right: var(--space-l);
    }
  }
  .u-mt-xl {
    margin-top: var(--space-xl);
  }
  @media screen and (max-width: 768px) {
    .u-mt-xl-small {
      margin-top: var(--space-xl);
    }
  }
  .u-mb-xl {
    margin-bottom: var(--space-xl);
  }
  @media screen and (max-width: 768px) {
    .u-mb-xl-small {
      margin-bottom: var(--space-xl);
    }
  }
  .u-pt-xl {
    padding-top: var(--space-xl);
  }
  @media screen and (max-width: 768px) {
    .u-pt-xl-small {
      padding-top: var(--space-xl);
    }
  }
  .u-pb-xl {
    padding-bottom: var(--space-xl);
  }
  @media screen and (max-width: 768px) {
    .u-pb-xl-small {
      padding-bottom: var(--space-xl);
    }
  }
  .u-pl-xl {
    padding-left: var(--space-xl);
  }
  @media screen and (max-width: 768px) {
    .u-pl-xl-small {
      padding-left: var(--space-xl);
    }
  }
  .u-pr-xl {
    padding-right: var(--space-xl);
  }
  @media screen and (max-width: 768px) {
    .u-pr-xl-small {
      padding-right: var(--space-xl);
    }
  }
  .u-mt-xl2 {
    margin-top: var(--space-xl2);
  }
  @media screen and (max-width: 768px) {
    .u-mt-xl2-small {
      margin-top: var(--space-xl2);
    }
  }
  .u-mb-xl2 {
    margin-bottom: var(--space-xl2);
  }
  @media screen and (max-width: 768px) {
    .u-mb-xl2-small {
      margin-bottom: var(--space-xl2);
    }
  }
  .u-pt-xl2 {
    padding-top: var(--space-xl2);
  }
  @media screen and (max-width: 768px) {
    .u-pt-xl2-small {
      padding-top: var(--space-xl2);
    }
  }
  .u-pb-xl2 {
    padding-bottom: var(--space-xl2);
  }
  @media screen and (max-width: 768px) {
    .u-pb-xl2-small {
      padding-bottom: var(--space-xl2);
    }
  }
  .u-pl-xl2 {
    padding-left: var(--space-xl2);
  }
  @media screen and (max-width: 768px) {
    .u-pl-xl2-small {
      padding-left: var(--space-xl2);
    }
  }
  .u-pr-xl2 {
    padding-right: var(--space-xl2);
  }
  @media screen and (max-width: 768px) {
    .u-pr-xl2-small {
      padding-right: var(--space-xl2);
    }
  }
  .u-mt-x2l {
    margin-top: var(--space-x2l);
  }
  @media screen and (max-width: 768px) {
    .u-mt-x2l-small {
      margin-top: var(--space-x2l);
    }
  }
  .u-mb-x2l {
    margin-bottom: var(--space-x2l);
  }
  @media screen and (max-width: 768px) {
    .u-mb-x2l-small {
      margin-bottom: var(--space-x2l);
    }
  }
  .u-pt-x2l {
    padding-top: var(--space-x2l);
  }
  @media screen and (max-width: 768px) {
    .u-pt-x2l-small {
      padding-top: var(--space-x2l);
    }
  }
  .u-pb-x2l {
    padding-bottom: var(--space-x2l);
  }
  @media screen and (max-width: 768px) {
    .u-pb-x2l-small {
      padding-bottom: var(--space-x2l);
    }
  }
  .u-pl-x2l {
    padding-left: var(--space-x2l);
  }
  @media screen and (max-width: 768px) {
    .u-pl-x2l-small {
      padding-left: var(--space-x2l);
    }
  }
  .u-pr-x2l {
    padding-right: var(--space-x2l);
  }
  @media screen and (max-width: 768px) {
    .u-pr-x2l-small {
      padding-right: var(--space-x2l);
    }
  }
  .u-mt-x3l {
    margin-top: var(--space-x3l);
  }
  @media screen and (max-width: 768px) {
    .u-mt-x3l-small {
      margin-top: var(--space-x3l);
    }
  }
  .u-mb-x3l {
    margin-bottom: var(--space-x3l);
  }
  @media screen and (max-width: 768px) {
    .u-mb-x3l-small {
      margin-bottom: var(--space-x3l);
    }
  }
  .u-pt-x3l {
    padding-top: var(--space-x3l);
  }
  @media screen and (max-width: 768px) {
    .u-pt-x3l-small {
      padding-top: var(--space-x3l);
    }
  }
  .u-pb-x3l {
    padding-bottom: var(--space-x3l);
  }
  @media screen and (max-width: 768px) {
    .u-pb-x3l-small {
      padding-bottom: var(--space-x3l);
    }
  }
  .u-pl-x3l {
    padding-left: var(--space-x3l);
  }
  @media screen and (max-width: 768px) {
    .u-pl-x3l-small {
      padding-left: var(--space-x3l);
    }
  }
  .u-pr-x3l {
    padding-right: var(--space-x3l);
  }
  @media screen and (max-width: 768px) {
    .u-pr-x3l-small {
      padding-right: var(--space-x3l);
    }
  }
  .u-mt-x4l {
    margin-top: var(--space-x4l);
  }
  @media screen and (max-width: 768px) {
    .u-mt-x4l-small {
      margin-top: var(--space-x4l);
    }
  }
  .u-mb-x4l {
    margin-bottom: var(--space-x4l);
  }
  @media screen and (max-width: 768px) {
    .u-mb-x4l-small {
      margin-bottom: var(--space-x4l);
    }
  }
  .u-pt-x4l {
    padding-top: var(--space-x4l);
  }
  @media screen and (max-width: 768px) {
    .u-pt-x4l-small {
      padding-top: var(--space-x4l);
    }
  }
  .u-pb-x4l {
    padding-bottom: var(--space-x4l);
  }
  @media screen and (max-width: 768px) {
    .u-pb-x4l-small {
      padding-bottom: var(--space-x4l);
    }
  }
  .u-pl-x4l {
    padding-left: var(--space-x4l);
  }
  @media screen and (max-width: 768px) {
    .u-pl-x4l-small {
      padding-left: var(--space-x4l);
    }
  }
  .u-pr-x4l {
    padding-right: var(--space-x4l);
  }
  @media screen and (max-width: 768px) {
    .u-pr-x4l-small {
      padding-right: var(--space-x4l);
    }
  }
}
@layer utility {
  .u-sticky {
    position: sticky;
  }
  @media screen and (max-width: 768px) {
    .u-sticky {
      position: static;
    }
  }
  .u-fixed {
    position: fixed;
  }
}
@layer utility {
  .u-font-en {
    font-family: var(--font-en);
  }
  .u-font-jp {
    font-family: var(--font-basic);
  }
  .u-font-italic {
    font-style: italic;
  }
  .u-font-bold {
    font-weight: bold;
  }
  .u-font-important {
    color: #C7000B;
  }
}
@layer utility {
  .u-color-red {
    color: var(--text-color-red);
  }
}
@layer utility {
  @media screen and (max-width: 639px) {
    .u-hidden-small {
      display: none;
    }
  }
  .u-visible-small {
    display: none;
  }
  @media screen and (max-width: 639px) {
    .u-visible-small {
      display: block;
    }
  }
}
@layer utility {
  .u-border-img {
    border: solid 1px var(--color-line2);
  }
}
@layer utility {
  .u-align-left {
    text-align: left;
  }
  .u-align-right {
    text-align: right;
  }
  .u-align-top {
    vertical-align: top;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .u-align-top th, .u-align-top td {
    vertical-align: top;
  }
  .u-align-middle {
    vertical-align: middle;
  }
  .u-align-middle th, .u-align-middle td {
    vertical-align: middle;
  }
  .u-align-middle {
    vertical-align: middle;
  }
  .u-align-center {
    text-align: center;
  }
  .u-align-center th, .u-align-center td {
    text-align: center;
  }
}
@layer utility {
  .u-ib {
    display: inline-block;
  }
}
@layer utility {
  :root {
    --leading-trim: calc((1em - 1lh) / 2);
  }
  :lang(en) {
    --leading-trim: calc((1cap - 1lh) / 2);
  }
  .u-text-trim::before, .u-text-trim::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 1px;
  }
  .u-text-trim::before {
    -webkit-margin-after: var(--leading-trim);
            margin-block-end: var(--leading-trim);
  }
  .u-text-trim::after {
    -webkit-margin-before: var(--leading-trim);
            margin-block-start: var(--leading-trim);
  }
}
@layer utility {
  .u-aspect-32 {
    aspect-ratio: 3/2;
  }
  .u-aspect-32 img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-43 {
    inline-size: 100%;
    aspect-ratio: 4/3;
  }
  .u-aspect-43 img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-16 {
    inline-size: 100%;
    aspect-ratio: 16/9;
  }
  .u-aspect-16 video {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-169 {
    aspect-ratio: 16/9;
  }
  .u-aspect-169 img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-square {
    aspect-ratio: 1/1;
  }
  .u-aspect-square img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-gold {
    aspect-ratio: 1.618/1;
  }
  .u-aspect-gold img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .u-aspect-silver {
    aspect-ratio: 1.414/1;
  }
  .u-aspect-silver img {
    inline-size: 100%;
    block-size: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.u-img-graph {
  border: 1px solid #F0F0F0;
  overflow: hidden;
}

.u-video {
  position: relative;
}

.u-video-btn {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 40px;
  cursor: pointer;
  outline: none;
  background: none;
  border: none;
}